package com.flowplan.todo.dto;

import com.flowplan.entity.enums.Priority;
import com.flowplan.entity.enums.TodoStatus;
import com.flowplan.entity.enums.TodoType;
import jakarta.validation.constraints.Size;
import lombok.Data;

import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * 待办更新请求DTO
 * 
 * @author FlowPlan Team
 */
@Data
public class TodoUpdateRequest {
    
    /**
     * 待办标题
     */
    @Size(max = 200, message = "待办标题长度不能超过200个字符")
    private String title;
    
    /**
     * 待办描述
     */
    @Size(max = 5000, message = "待办描述长度不能超过5000个字符")
    private String description;
    
    /**
     * 待办状态
     */
    private TodoStatus status;
    
    /**
     * 优先级
     */
    private Priority priority;
    
    /**
     * 待办类型
     */
    private TodoType todoType;
    
    /**
     * 负责人ID
     */
    private Long assigneeId;
    
    /**
     * 到期时间
     */
    private LocalDateTime dueDate;
    
    /**
     * 预估工时
     */
    private BigDecimal estimatedHours;
    
    /**
     * 实际工时
     */
    private BigDecimal actualHours;
}